如何在 Obsidian 实践 P.A.R.A. 与卡片笔记法

前言

在阅读本文前,首先你应该知道 P.A.R.A 方法是什么,解决什么样的问题。你也应当知道 Obsidan 是一款基于双向链接的笔记软件。还有卡片笔记法的一些基础知识。本文专注于分享一种同时在 Obsidian 实践卡片笔记法和 P.A.R.A 方法的方式。本人才疏学浅,希望分享这个方法可以抛砖引玉。

不过,为了避免你忘记,在这里再大致的介绍一下。(绝不是想要水字数)

P.A.R.A.

项目(Project)、领域(Area)、资源(Resource)、 档案(Archive)的简称

Project —— "与目标关联的一系列任务,每个任务都有明确的完成期限"。

Area of responsibility —— "一个需要持续一段时间的任务领域"。

Resource —— "持续感兴趣的话题或主题"。

Archives —— "其他三个类别以外的非活动项目"。

这里是关于 P.A.R.A 的原文链接:https://fortelabs.co/blog/para/

卡片笔记法

Zettelkasten 即卡 卡片盒笔记法卡片笔记法。是 Niklas Luhmann(尼克拉斯 · 卢曼)使用的一套笔记方法论。卡片是这套方法论的关键,每一张卡片的可以独立的描述某种事情。卢曼通过在卡片写上标记来为所有卡片之间建立联系,一张卡片会有一个自己的编号和一个指向其他卡片的编号。有点类似 C++ 中的指针。

传统的笔记方式很容易让我们陷入收藏家谬论,写了很多却没有再发挥它们笔记的作用,永远不会再拿出来看。而卡片可以帮助我们把知识编织成一片网,即知识图谱,通过卡片之间的联系帮助我们思考。

实践:文件夹如何组织

卡片笔记有三种类型:

  1. 闪念笔记 记录下你所有的想法,避免你忘记。每天清理并总结。全部通过 flomo 收集。
  2. 永久笔记 通过文献笔记和闪念笔记总结的系统性笔记,永久笔记即最后成文的内容。记录于 Obsidian 文献笔记文件夹中。
  3. 项目笔记 随着项目结束归档的笔记,比如大纲、草稿、TODO、备忘录等等。记录于 Obsidian 永久笔记文件夹中。

闪念笔记应该注重快,所以任何标签式的管理都是不需要的,想到什么写什么,不要为你临时性的笔记规划过多,这是随性的哲学(反正都是要很快被整理的)。

文献笔记直接在 Obsidian 的收件箱内记录,环境不允许的情况下可以通过 flomo 先存储自己的想法。每日结束时整理到 Obsidian 内。(上述列表虽然没有提及文献笔记,但是依旧是卡片笔记不可或缺的一种笔记)

永久笔记,先在 Obsidian 收件箱编辑。编辑完成后,添加链接和相关内容,随后收纳进永久笔记文件夹。

项目笔记,这里包括的很多是 ToDo 和草稿,我个人一般纳入 GTD 来进行管理。草稿的话,也不纳入知识库中。这里唯一重要的是会化作永久笔记的项目笔记,这里后续正好可以使用 P.A.R.A 的方式来进行管理。

在这里我使用的文件夹有:

实践:如何兼容 P.A.R.A 方法

融合 P.A.R.A 方法和卡片笔记法时,可以使用 FrontMatter + Dataview 来实践 P.A.R.A 的内容。我为 Obsidian 的笔记通过 Templater 添加了三种头信息。它们不是在每个笔记都存在,而是需要的时候才有。

关于归档,可以新建一个 Archive 文件夹来对无用的笔记进行归档。如此使用文件路径来过滤知识图谱就可以过滤掉现阶段无需关心的笔记,同时也不需要产生额外的附件管理成本(如果你有另一个仓库,需要把笔记按照文件夹归档,但是又把附件集中在一处,你会知道我所说的是什么)。

最后,还需要一些额外的工具来完成笔记库的分析工作。由于 Obsidian 的本地文件夹管理模式,可以使用 Dataview 插件来统计笔记中的 Area,Book 相关内容的数量。又或者可以实现更高级的总览和分析功能,十分的方便。

实践:为笔记自动添加元数据

为笔记添加元数据可以方便 Dataview 插件进行统计和索引。使用 Templater 插件为笔记自动添加元数据,需要设置一个元数据模版,然后开启 00-Inbox 文件夹的自动触发新文件使用模版替换即可。

下面是我每次新建文件都会使用的元数据。

---
create: 2022-12-20 10:54
area: 
tags:
- 
---

在这里分享一些教程:

  1. Obsidian 的 YAML Front matter 介绍 - 知乎
  2. 为 obsidian 中的文件批量添加 front matter - 简书

实践:通过 Dataview 提供 P.A.R.A 笔记视图

Dataview 是一款 Obsidian 插件。通过使用代码块语法使用,可以建立一种表格、列表等形式来展示 Vault 中的内,非常强大。Github 地址

数据视图的生成用法是基于代码块语法和类 SQL 语法来构建的。把每一条笔记想象成一个数据,数据本身还包含了很多信息,笔记的内容、创建时间、各种元数据、标签,等等。而 Dataview 可以通过数据来生成各种表格、列表等视图。可以帮助我们实现笔记库的一些信息提取,帮助我们实现一些方法论。

先来看看效果:

笔记是一个人最近关注和学习的内容的核心,通过归纳笔记的数量我们可以知道最近自己比较感兴趣哪些领域,也可以发现我们期望的发展目标和自己实际做的事情偏离了多少。所以我做了笔记库里最近笔记的视图,以及所有永久笔记的领域分布表。由于我也是刚刚才开始探索这一套方法,后续还会不断迭代添加自己需要的视图。

在这里每个人的需求可能有很多不一致之处。但是我们既然已经打好了笔记的元数据,也有了强大的数据分析工具,自己动手 DIY 适合自己的笔记系统吧!

Dataview 一些实例

关于语法,这里字数受限不过多介绍,需要的朋友我也把教程贴上。

  1. Obsidian 插件之 Dataview - 知乎
  2. Obsidian 插件之 Dataview - 少数派
  3. Dataview 官方文档翻译

这里是我搭建系统时用到的一些代码:

最近的 50 条笔记(领域、文件夹、创建日期)

table area, file.folder, file.cday
from ""
limit (50)
sort file.cday desc

最近 100 条笔记领域分布

table length(rows) as 笔记数量
from "10 - 文献笔记" or "20 - 永久笔记"
limit 100
group by area as 领域
sort length(rows) desc

最近 20 条永久笔记

table area as 领域, create as 创建时间
from "20 - 永久笔记"
sort create desc
limit 20

根据领域建立 MOC

list
from "10 - 文献笔记" or "20 - 永久笔记"
where contains(area, "游戏开发")

写在最后

之前自己一直想写点什么内容出来发表,因为自己每天看的东西很多,但是却丝毫没有输出。最近阅读了《卡片笔记写作法》,打算开始把自己一直在生活中学习的东西给输出出来,这篇文章算是一个试水。看了看自己贫瘠的笔记库,貌似也没多少内容值得输出,但是还是想坚持把写作这件事情坚持下去。希望看到文章的读者可以和我不断的进步吧。